約 2,959,608 件
https://w.atwiki.jp/atyou/pages/51.html
データベースを起動・停止する単位 Oracleサーバーは、 Oracleインスタンス Oracleデータベース から構成されている。 Oracleインスタンス Oracleインスタンスは、 システムグローバル領域(SGA)いう作業用メモリ空間 バックグラウンドプロセス から構成されている。 Oracleデータベースに対して、最低1つのOracleインスタンスが必要 1つのOracleサーバ上に複数のインスタンスを作成し、複数のデータベースを同時に使うこともできる。 『SGA(システムグローバル領域)』 共有プール ユーザー間で共有できるようにSQL文をキャッシュしたり、データディクショナリ結果をキャッシュしたりする データベースバッファキャッシュ データファイルから取り出したデータブロックをキャッシュする。問い合わせの場合もDML(Data Manipulation Language:データ操作言語)の場合も、一度データベースバッファキャッシュにキャッシュしてから処理を行う。DMLにて変更されたデータベースブロックはDBWnによってデータファイルに書き出される REDOログバッファ データベースに対する変更情報をREDOレコードとしてキャッシュする。REDOレコードはデータベースの回復のために使用され、LGWRによってREDOログファイルに書き出される Javaプール OracleJVM(Java仮想マシン)で動作するJavaコードやデータを格納する ラージプール 共有サーバ接続時のセッション関連メモリやI/O要求、Recovery Manager(RMAN)で使用するメモリを格納する。ラージプールはオプションメモリで、構成していない場合は共有プールが使用される 自動共有メモリ管理 Oracle Database 10gから「自動共有メモリ管理」機能が提供されるようになりました。 SGA全体のターゲットサイズを設定するだけで、Oracleサーバは以下のメモリを動的に調整してくれるようになります。 共有プール データベースバッファキャッシュ Javaプール ラージプール SGA全体のターゲットサイズは、「SGA_TARGET」初期化パラメータで設定します。 『バックグラウンドプロセス』 プロセス 説明 DBWn(データベースライタ) データベースバッファキャッシュ内の変更されたデータブロックをデータファイルに書き出す LGWR(ログライタ) REDOログバッファのREDOログレコードをREDOログファイルに書き出す CKPT(チェックポイント) チェックポイント(データベースバッファキャッシュとデータファイルの同期を取り、書き込みを保証するイベント)が発生した場合、DBWnにシグナルを送ってデータファイルに書き込ませ、その後データファイルと制御ファイルにチェックポイント情報を書き込む ARCn(アーカイバ) REDOログファイルのログスイッチ(切り替え)が発生した場合、アーカイブ領域にアーカイブログファイルを作成する。データベースがARCHIVELOGモードのときのみ起動するバックグラウンドプロセス SMON(システムモニタ) システム障害のためにデータベースが停止した場合、次回のインスタンス起動時にインスタンスリカバリを開始する PMON(プロセスモニタ) ユーザープロセスに障害が発生したとき、対応しているサーバプロセスのリソースを開放する ユーザーがアクセスするときは、アプリケーション側のプロセスとサーバ側のプロセスが通信します。 アプリケーション側のプロセスをユーザープロセス、サーバ側のプロセスをサーバプロセスと呼びます。 サーバプロセスやバックグラウンドプロセスは、PGA(プログラムグローバルエリア)と呼ばれる独自のメモリを持ちます。 Oracleデータベース Oracleデータベースは実際のファイルで構成されます。 制御ファイル データベースの物理構成やチェックポイント情報などの管理情報を格納したファイル REDOログファイル データベースに対する変更を格納し、システム障害があったときの回復処理に利用する。最低2つのグループを持ち、ログスイッチで切り替えながら循環して書き込みが行われる データファイル 表内のデータや索引など、すべてのデータベースデータを格納する。論理的には表領域に対応する REDOログファイル REDOログ・ファイルは、データに対して行われたすべての変更履歴を記録するファイルです。 そして、REDOログ・ファイルに記録された変更履歴を基に、障害時に失われたデータのリカバリを行います。 REDOログ・ファイルが記録している内容は、表に格納しているデータの変更だけではありません。 索引の付いている列に対して変更を行った場合、索引のデータの変更も記録します。 REDOログファイルは「グループ」で構成されます。グループには1つ以上のREDOログファイルを含めることができ、 1つのグループに複数のファイルが存在する場合は、それらは同じ内容を記述したコピーファイルです。 グループを構成するこれらのファイルを「メンバー」と呼びます。 グループへの書き込みは、LGWR(ログライタ)が行います。 REDOログファイルが満杯まで書き込まれるか、明示的にコマンドによる切り替えが行われると、次のグループに書き込みを開始します。 このような切り替えを「ログスイッチ」と呼びます。新しいグループには、「ログ順序番号」という内容を診断するための順序番号が新たに割り当てられ、 循環して上書きされても、どの時点のREDOログエントリであるかが判断できるようになっています。 LGWRは、グループ内の1つのメンバーにREDOログエントリを書き込むことができる限り、動作し続けることができます。 アーカイブログファイル REDOログファイルのバックアップに相当するファイル。 REDOログファイルのログスイッチ時にARCnによって作成される。 ディスク障害が発生した場合のリカバリ処理に利用される。 データベースがARCHIVELOGモードのときだけ作成されるファイル データファイル データファイルには、データベースが扱う実際のデータが格納されています。 データはサーバプロセスによりデータベースバッファキャッシュに読み込まれ、データベースバッファキャッシュ上で問い合わせや更新処理が行われます。 更新処理が行われたブロックは「使用済みバッファ」と呼ばれ、DBWn(データベースライタ)によってデータファイルに書き込まれます。 データファイルへの書き込みは、チェックポイント(CKPTによる信号送信)時、データベースバッファキャッシュのメモリ不足時、データベース停止時(ABORTによる停止を除く)に行われます。 コミット時にはデータファイルへの書き込みは行われません。コミット時は、LGWRによるREDOログファイルへの書き込みが行われているため、 障害発生時はREDOログファイルからのリカバリ処理で対応できるようになっています。 ■Oracleインスタンスの起動 http //www.atmarkit.co.jp/fdb/ref/ref_oracle/startup.html#01 Oracleサーバの起動には、インスタンスの起動とデータベースの起動が必要です。 インスタンス起動の準備 SQLPLUS /NOLOG ┗ 手順1 まず、データベースに接続せずに、SQL*Plus を起動します。コマンドラインから「/NOLOG」オプションを付けてSQLPLUSコマンドを発行します。 CONNECT username/password AS [SYSDBA | SYSOPER] ┗ 手順2 SQL*Plusセッションを起動したら、管理者アカウント(デフォルトではsysまたは system)として、SYSDBA(あるいはSYSOPER)システム権限でOracleデータベースに接続します。これで、データベース・インスタンスを起動する準備が完了します。 インスタンスを起動し、データベースをマウントしてオープンする STARTUP 1. NOMOUNT(インスタンスの起動:SGAを割り当て、バックグラウンドプロセスを起動) 初期化パラメータファイルを読み込み、SGAを割り当て、バックグラウンドプロセスを起動することで、インスタンスが起動します。 このとき、初期化パラメータCONTROL_FILESにて制御ファイルが識別されます。 新規にデータベースを作成する場合などにNOMOUNT(インスタンスのみの起動)を使用します。 初期化パラメータ Oracleインスタンスのメモリサイズなどは、インスタンスが起動するときに読み込まれる初期化パラメータファイルで設定されます。 初期化パラメータファイルには、 SPFILE(サーバパラメータファイル) PFILE(テキストのパラメータファイル) があります。 種類 説明 SPFILE Oracleサーバによる読み取りと書き込みが可能なバイナリ形式の初期化パラメータファイル。Oracleインスタンスを起動したままで動的に変更した初期化パラメータ値の保存が可能。PFILEよりも優先して読み込まれる PFILE Oracleサーバによる読み取りのみ可能なテキスト形式の初期化パラメータファイル。動的に変更した初期化パラメータ値はファイルに保存されないため、エディタなどで手動編集が必要 Database Controlでは、「管理」タブ→「インスタンス」リージョンの「すべての初期化パラメータ」から現在の初期化パラメータ値の参照や変更ができます。 「現行」タブか、「SPFile」タブの「SPFileモードでの変更を現在実行中のインスタンスに適用する」チェックボックスを使用すると、動的な変更が行えます 2. MOUNT(データベースのマウント:制御ファイルをオープン) 制御ファイル内に記録されているREDOログファイル、データファイルを識別します。 データベースのリカバリ作業などの特定処理を行う場合にはMOUNT(データベースのマウント)で起動することができます。 3. OPEN(データベースのオープン:データファイル、REDOログファイルをオープン) REDOログファイル、データファイルをオープンします。 特権ユーザー(SYSDBA、SYSOPER)以外のユーザーの接続が可能になります。 (通常のOracleユーザは、OPEN(データベースのオープン)するまでは接続できません。) ■インスタンスの停止 インスタンスを停止するときは、 標準(NORMAL) トランザクション(TRANSACTIONAL) 即時(IMMEDIATE) 中断(ABORT) の4つからオプションを選択します デフォルトは「即時」停止です。 ABORT処理で停止した場合、次回の起動時にインスタンスリカバリが必要であることに注意しましょう。 その場合のインスタンスのリカバリ情報は、アラートログから確認することができます。 ■初期化パラメータ 初期化パラメータには、インスタンスレベルで変更可能なものとセッションレベルで変更可能なもの、両方で変更可能なものがあります。 V$PARAMETERビューでは、セッションレベルで変更した値が表示されます。 SQL ALTER SYSTEM SET db_file_multiblock_read_count=16; システムが変更されました。 SQL ALTER SESSION SET db_file_multiblock_read_count=8; セッションが変更されました。 SQL SELECT name,value FROM v$parameter 2 WHERE name = 'db_file_multiblock_read_count'; NAME VALUE ------------------------------ ---------- db_file_multiblock_read_count 8 初期化パラメータは、すべてを調整する必要はありません。基本パラメータのみを調整すれば、最低限の動作は保証されます。拡張パラメータは特殊な要件の場合に使用します。 ■トレースファイル Oracleサーバの動作を確認するためのログファイルとして、アラートログファイルがあります。アラートログファイルには次のような情報が記録されます。 発生するすべての内部エラー(ORA-600)、ブロック破損エラー(ORA-1578)、デッドロックエラー(ORA-60) データベースの起動と停止、表領域の追加と削除、変更、ALTER DATABASE、ALTER SYSTEMコマンドといった管理作業 デフォルト値以外に設定された初期化パラメータ(インスタンス起動時) アラートログファイルとバックグラウンドプロセスが作成するトレースファイルは、BACKGROUND_DUMP_DEST初期化パラメータで指定したディレクトリ配下に生成されます。 SQL show parameter background_dump_dest NAME TYPE VALUE ------------------------------------ ----------- -------------- background_core_dump string partial background_dump_dest string /u01/app/.../bdump SQL !tail -100 /u01/app/.../bdump/alert_orcl.log Tue Nov 21 22 45 38 2006 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Picked latch-free SCN scheme 2 Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST Autotune of undo retention is turned on. IMODE=BR ILAT =18 LICENSE_MAX_USERS = 0 SYS auditing is disabled ksdpec called for event 13740 prior to event group initialization Starting up ORACLE RDBMS Version 10.2.0.2.0. System parameters with non-default values processes = 150 __shared_pool_size = 125829120 shared_pool_size = 117440512 __large_pool_size = 4194304 large_pool_size = 4194304 __java_pool_size = 4194304 java_pool_size = 4194304 __streams_pool_size = 8388608 streams_pool_size = 8388608 ‥‥
https://w.atwiki.jp/goemode/pages/11.html
テ-ブル領域 インデックス領域 シーケンスのデータ移行 表領域を構成しているエクステント数の確認 表領域の断片化調査 表領域サイズと使用量 表領域のサイズ 表領域の空サイズ 実際にテーブルが占有しているディスク領域 ユーザ追加 ロール追加 ユーザ削除 キャラクタセットの確認 spfileの位置 インスタンス情報確認 テ-ブル領域 必要容量(KB) = X行 * ( 5バイト + LEN + Y ) / ( ブロックサイズ - 90バイト ) * ( 1 - PCTFREE/100 ) * 2048/1000 (KB) ここで X行 テ-ブルの件数 LEN テ-ブル1行(レコ-ド)当たりのバイト数(総バイト数) CHARタイプはケタ数 NUMBERタイプは22バイト で計算する Y 1行当たりのカラム数(項目数) ブロックサイズ オラクルデ-タベ-スのブロックサイズ AIXでは4096バイト(NTは2048バイト) PCTFREE(%) デ-タブロックの空領域の割合 10%とする. 想定容量 = 想定件数 * (5+総バイト数 + カラム数)* 0.0011621(KB) インデックス領域 必要容量(KB) = X行 * ( 11バイト + LEN ) / ( ブロックサイズ-90バイト ) * ( 1 - PCTFREE/100 ) * 2048/1000 (KB) ここで X行 テ-ブルの件数 LEN インデックスのバイト数 PCTFREE(%) 前述と同じ. 想定容量 = 想定件数 * (11+インデックス部のバイト数)* 0.0011621(KB) シーケンスのデータ移行 set linesize 200 set pagesize 0 set trimspool on set heading off set feedback off spool /tmp/impSeq.sql select -- シーケンスを削除する from dual; select DROP SEQUENCE || SEQUENCE_NAME || ; from USER_SEQUENCES; select -- シーケンスを生成する from dual; select CREATE SEQUENCE || SEQUENCE_NAME || START WITH || LAST_NUMBER || INCREMENT BY || INCREMENT_BY || MINVALUE || MIN_VALUE || MAXVALUE || MAX_VALUE || case CYCLE_FLAG when Y then CYCLE else NOCYCLE end || CACHE || CACHE_SIZE || ; from USER_SEQUENCES; select quit from dual; spool off quit 表領域を構成しているエクステント数の確認 SELECT SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, EXTENTS FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = [tablespace_name] ; 表領域の断片化調査 SELECT TABLESPACE_NAME, FILE_ID, BYTES, BLOCKS FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME = [tablespace_name] ORDER BY BLOCK_ID; 表領域サイズと使用量 select d.tablespace_name, 現サイズ "現サイズ[MB]", round(現サイズ-空き容量) "使用量[MB]", round((1 - (空き容量/現サイズ))*100) "使用率(%)", 空き容量 "空き容量[MB]" from (SELECT tablespace_name, round(SUM(bytes)/(1024*1024)) "現サイズ" FROM dba_data_files GROUP BY tablespace_name) d, (SELECT tablespace_name, round(SUM(bytes)/(1024*1024)) "空き容量" FROM dba_free_space GROUP BY tablespace_name) f where d.tablespace_name=f.tablespace_name / 表領域のサイズ SELECT tablespace_name, SUM(bytes)/(1024*1024) "SIZE[M]" FROM dba_data_files GROUP BY tablespace_name; 表領域の空サイズ SELECT tablespace_name, trunc(SUM(bytes)/(1024*1024)) "Free[M]" FROM dba_free_space GROUP BY tablespace_name; 実際にテーブルが占有しているディスク領域 select TABLESPACE_NAME, SEGMENT_NAME, sum(BYTES/1024) AS SIZE_KB from DBA_EXTENTS where TABLESPACE_NAME = [tablespace_name] group by TABLESPACE_NAME, SEGMENT_NAME / ユーザ追加 CREATE USER [user] IDENTIFIED BY [password] DEFAULT TABLESPACE [tablespace] TEMPORARY TABLESPACE [tmp] ロール追加 GRANT CONNECT,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE TO [user] ユーザ削除 DROP USER [user] CASCADE; キャラクタセットの確認 SQL SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID( CHAR_CS )),NLS_CHARSET_NAME(NLS_CHARSET_ID( NCHAR_CS )) FROM DUAL; NLS_CHARSET_NAME(NLS_CHA NLS_CHARSET_NAME(NLS_CHARSE ------------------------ --------------------------- AL32UTF8 AL16UTF16 spfileの位置 SQL show parameter spfile; NAME TYPEVALUE ------------------- --------------- ------------------------------ spfile string+DG1/***/spfile***.ora インスタンス情報確認 SQL select instance_name from SYS.GV_$INSTANCE; INSTANCE_NAME ------------------------------------------------ ***1 ***2
https://w.atwiki.jp/drip122/pages/38.html
Bronze SQL基礎Ⅰ(1Z0-017J) SQL文とSQL*Plusコマンドの違い RENAMEはOracle独自コマンド RENAME object_name_from TO object_name_to; Oracle以外のDBではALTERを使う。 ALTER TABLE object_name_from RENAME TO object_name_to; 制約 check制約 create table testtb (col number constraint check_name check (col between 100 and 999)); forengn key制約 create table 社員 (部門番号 number constraint 社員_部門_FK references 部門(部門番号)); SQL文で使用可能な様々な関数 where句でグループ関数は利用不可。 group by, where, order byは同時に利用可。 group byとorder byを同時に利用する場合は、order by句にはgroup by句で指定した列を記述しなくてはならない。 group by句はselect句で指定した列をでなくてもOK。 select max(給与) from 社員 group by 社員名; ビューに対してもシノニム作成可能。 外部結合では、結合列にnullがあっても表示できる。 SELECT文の関数 select 社員名 where 職務 IN ( 営業 , 部長 ); count(distinct 部門番号) は構文的に正しい。 文字、日付のリテラルは単一引用符( )で囲む。 列に別名をつけるときは二重引用符(")で囲む。 等価または非等価結合による複数表からのデータの取り出し 等価結合で3つ以上の表も結合可能 DML文 insert, update, delete, merge, select 表からの行の削除 create tableは暗黙コミットされる。 deleteでも副問合せ可能 delete from 社員 where 給与 = (select max(給与) from 社員); 列を定義する際に利用できるデータ型 日時および期間型 TIMESTAMP INTERVAL YEAR[(y)] TO MONTH INTERVAL DAY[(d)] TO SECOND [(S)] Bronze SQL基礎Ⅰ(1Z0-017J) データベースのリストアおよびリカバリ データベースの未使用領域の再利用 データベース・オブジェクトの追加作成 データベース記憶領域構造の作成および管理 バックアップおよびリカバリ操作のためのデータベースの構造 表領域=セグメントを格納するフォルダみたいなもん セグメント=エクステントを複数まとめたもの エクステント=データブロックを複数まとめたもの パフォーマンス・アドバイザを利用したデータベース・パフォーマンス SQLアクセスアドバイザは、問い合わせ&DMLを検証 SQLチューニングアドバイザは、問い合わせを検証 フラッシュバック機能の使用 フラッシュバックで使用されるのはUNDO表領域 Enterprise Manager Database Controlへのアクセス Oracleインスタンスおよびデータベースのコンポーネントの理解 Oracleデータベースの管理に使用するツールの定義 SQL*Plusによるデータベースアクセス sqlplus /nolog これはインスタンスが停止した状態でも、sqlplusを使えるコマンド
https://w.atwiki.jp/oraclesoa/pages/25.html
Oracle ESBでのSOAP Headerの設定方法 SOAPサービスからWebサービスを呼出す際に、SOAPヘッダーを付加してサービス を呼出す方法を紹介します。 ルーティング・サービスが以下のようなSOAPメッセージを受信した際に、受信し たSOAPヘッダをそのまま引き継いで、サービスを呼出す方法を例にとり説明をす すめます。 soap Envelope xmlns soap="http //schemas.xmlsoap.org/soap/envelope/" soap Header ns1 User xmlns ns1="http //xmlns.oracle.com/headertest/" ns1 Username testuser /ns1 Username /ns1 User /soap Header soap Body xmlns ns2="http //xmlns.oracle.com/test/" ns2 execute ns2 input 1234 /ns2 input /ns2 execute /soap Body /soap Envelope 設定手順は、以下の通りです。 1. ルーティング・サービスを作成し、ルーティング・ルールを追加。ルーティ ング先を設定する。 2. トランスフォーメーションの設定で、新規マッパー・ファイルを作成 3. XSLTマッパーの設定画面が開くので、画面右上部にある「 ターゲット 」を 右クリックし、「変数の追加」を選択。 4. ローカル名に任意の名称(ここではINPUT)を入力し、[XPath式]に以下の式を 入力し、OKボタンをクリック ehdr getRequestHeader( /soap Header/ns1 User/ns1 Username , ns1=http //xmlns.oracle.com/headertest/;soap=http //schemas.xmlsoap.org/soap/envelope/; ) 5. 再度、「 ターゲット 」を右クリックし、「変数の追加」を選択。 ローカル名に任意の名称を入力し、[XPath式]に以下の式を入力し、OKボタンを クリック (二番目の引数は$のあとに手順4で設定したローカル名を指定) ehdr setOutboundHeader( /ns1 User/ns1 Userbname ,$INPUT, ns1=http //xmlns.oracle.com/headertest/; ) 以上で設定が完了です。 それぞれの関数の引数は、以下の意味を持ちます。 getRequestHeader 第一引数 → 取得したいSOAPヘッダー要素を示すXPath式 soap Headerより開始 第二引数 → セミコロン区切りで第一引数で使用した名前空間の宣言 setOutboundHeader 第一引数 → 設定したいSOAPヘッダー要素を示すXPath式 getRequestHeaderと異なり、soap Headerの子要素から指定 第二引数 → 第一引数で指定した要素に対する設定値 第三引数 → セミコロン区切りで第一引数で使用した名前空間の宣言 setOutboundHeaderを使用してSOAPヘッダーを設定する際には、soap Headerの子 要素を複数もてません。 つまり、以下の例1のような設定は可能ですが、例2のような設定はできません。 soap Headerに複数の子要素を持つと実行時にエラーになります。 例1) soap Header ns1 User xmlns ns1="http //xmlns.oracle.com/headertest/" ns1 Username testuser /ns1 Username ns1 Password testuser /ns1 Password /ns1 User /soap Header 例2) soap Header xmlns ns1="http //xmlns.oracle.com/headertest/" ns1 Username testuser /ns1 Username ns1 Password testuser /ns1 Password /soap Header
https://w.atwiki.jp/hiropknot/pages/78.html
第1章:データベース管理者のタスク データベースシステムの構築にかかわる作業 ・Oracleソフトウェアのインストール ・データベースの作成 ・データベースおよびソフトウェアのアップグレード 日々の運用管理にかかわる作業 ・Oracleインスタンスの起動および停止 ・データベースの記憶域構造の管理 ・ユーザおよびセキュリティの管理 ・スキーマ、オブジェクト(表、索引、ビューなど)の管理 ・バックアップの計画と実行 ・データベースの積極的な監視と障害予防措置 ・パフォーマンスの監視およびチューニング トラブルシューティング ・障害発生時のリカバリの実行 ・データベースの監視によって判明した問題への修正処置の実行 ・診断およびOracleサポートサービスへのエラー報告 第2章:OracleソフトウェアのインストールおよびOracleデータベースの作成 共通の前提条件チェック項目 カテゴリ チェック項目 ディスク領域 ・スワップ領域:1GB以上 ・一時領域(/tmp):400MB以上 ・Oracleソフトウェア用:1.5GB以上 ・事前構成済みデータベース用:1GB以上 メモリ ・物理メモリ:1GB以上 OUI(Oradcle Universal Installer)の機能 ・新しいOracleソフトウェアのインストール ・インストールされているOracleソフトウェアの表示 ・私用しないOracleソフトウェアの削除 ・インストールプロセス中のオンラインヘルプの参照 ・インストール前の前提条件のチェック 主な環境変数 環境変数 説明 ORACLE_BASE Oracleディレクトリ構造のトップディレクトリ ORACLE_HOME Oracleソフトウェアを格納するディレクトリOracleソフトウェアをインストールするたびに、新しくOracleホームディレクトリを指定する必要がある。デフォルトはORACE_BASEディレクトリのサブディレクトリとなる。 ORACLE_SID システム識別子(インスタンス名)、8文字以下の英数字 LD_LIBRARY_PATH 共有オブジェクトライブラリを検索するパス Oracleインベントリディレクトリ 最初にソフトウェアをインストールするときに設定する。 インストールしたOracle製品の情報などを保持するためのディレクトリ。 既存のソフトウェアへのパッチ適用、アップグレード、ソフトウェアの削除などの時にOUIが使用する。 Linuxへのインストール rootユーザでログインし、下記2つのシェルを実行する。 orainstRoot.sh インベントリポインタファイル(/etc/oraInst.loc)を作成する。 root.sh oratabファイル(/etc/oratab)の作成とOracle用の環境変数を変更するスクリプトのコピーを行う。 DBCA(Detabase Configration Assistant) テンプレートについて テンプレートの実態は、データベースの作成に必要な以下の情報が含まれているXMLファイル。 ・データベースオプション ・初期化パラメータ ・記憶属性(データファイル、表領域、制御ファイル、オンラインREDOログの属性) など 格納先:<$ORACLE_HOME/assistants/dbca/templates> データベース作成時に指定する記憶域オプション ・ファイルシステム(デフォルト) ・自動ストレージ管理(ASM) ・RAWデバイス 第3章:Enterprise Managerを使用したデータベース管理 Enterprise Managerとは Oracleインスタンスやデータベースを管理するためのツール。 「Database Control(1つのDBを管理)」と「Grid Control(複数のDBを管理」がある。 分類 管理作業 データベース管理タスク ・スキーマオブジェクト(表、ビュー、索引など)の作成 ・ユーザーのセキュリティ管理 ・データベースのメモリおよび記憶域の管理 ・データベースのバックアップおよびリカバリ ・データのインポートおよびエクスポート ・インスタンスの起動、停止 情報の表示 ・データベースのパフォーマンスおよびステータス情報の表示 ※データベースの新規作成・削除はできない。 デフォルトでEnterprise Managerへのログインが可能なユーザ SYS / SYSTEM / SYSMAN 設定の種類と設定できる内容 管理 ・管理者 ・通知方法 ・パッチ適用方法 ・ブラックアウト 環境 ・一般 ・優先接続情報 ・通知(ルール、スケジュール) SQL Plusとは データベースを管理するための主要なSQLコマンドベースツール。 起動方法 sqlplus /nologconnect account/password 第4章:Oracleネットワーク環境の構成 Oracle Net Manager ネットワーク機能を提供するOracle Netのネットワークを構成するツール。 起動方法 コマンド 「netmgr」 Windows 「スタート」>「プログラム」>「Oracle - home-name」>「Configration and Migration Tools」>「Net Manager」 第5章:Oracleインスタンスの管理 初期化パラメータファイル インスタンス起動時に読み込まれるファイル。 データベースバッファキャッシュや共有プールなどSGAのメモリ領域のサイズ変更や、必要なバックグラウンドプロセスの追加起動など、インスタンスの動作に影響を与えるパラメータが書き込まれている。 初期化パラメータファイルの種類 サーバーパラメータファイル(SPFILE) Oracleデータベースサーバによって読み取りと書き込みが可能なバイナリファイル。 インスタンス稼働中に動的に変更できるパラメータの値が格納できる(手動変更は不可)。 Enterprise Managerで使用することができる。 テキスト初期化パラメータファイル(PFILE) テキストファイル。 Oracleデータベースサーバによって読み取りは可能だが、書き込みは行えない。 パラメータ変更後は、インスタンスを再起動する必要がある。 バックグラウンドプロセス インスタンスを起動すると自動的に起動するプロセス群。 Oracleシステムがスムーズに動くように全体管理を行う。 SMONシステムモニター 障害になどによりインスタンスを再起動した際に、インスタンスリカバリを実行する。 PMONプロセスモニター ユーザプロセスの障害時に、使用していたリソースを解放し、クリーンアップを行う。 DBWnデータベースライター データベースバッファキャッシュ上で変更されたデータをデータファイルに書き込む。 CKPTチェックポイント DBWnによりデータベースバッファ内のデータがデータファイルに書き込むイベントのことを「チェックポイント」という。CKPTはDBWnを呼び出し、さらにメモリとディスクの同期情報を制御ファイルに書き込む。 LGWRログライター REDOエントリ(変更履歴情報)をREDOログファイルに書き込む。 ARCnアーカイバ REDOログファイルをアーカイブログファイルとしてコピーする。必須のバックグラウンドプロセスではない。 データベース作成時に自動作成される「管理者アカウント」 SYS データベース管理者アカウント SYSTEM データベース管理者アカウント SYSMAN Enterprise Managerでのデータベース操作を実行するためのユーザアカウント DBSNMP Enterprise Managerの管理エージェントが使用するユーザアカウント メモリ管理の種類と特徴 自動メモリ管理(推奨) 特徴 データベースサーバによりSGAとインスタンスPGAが自動チューニングされる。 データベース管理者は、インスタンスで使用する合計メモリサイズを指定する。 設定するパラメータ ・ターゲットメモリサイズ初期化パラメータ(MEMORY_TARGET) ・最大メモリサイズ初期化パラメータ(MEMORY_MAX_TARGET) ←オプション 自動共有メモリ管理+自動PGAメモリ管理 特徴 自動メモリ管理を無効化すると、暗黙的に自動共有メモリ管理+自動PGAメモリ管理となる。 データベースサーバによりSGAのサイズとここのプロセスのPGA自動チューニングされる。 データベース管理者は、SGAとPGAのターゲットサイズと最大サイズを指定する。 設定するパラメータ ・SGAターゲットサイズパラメータ(SGA_TARGET) ・SGAの最大サイズ(SGA_MAX_SIZE) ・PGAターゲットサイズ初期化パラメータ(PGA_AGGREGATE_TARGET) ・PGAの最大サイズ(PGA_MAX_MEM) 手動共有メモリ管理+自動PGAメモリ管理 特徴 自動共有メモリ管理を無効化すると、暗黙的に手動共有メモリ管理となる。 データベース管理者は、SGAの各コンポーネントのサイズとPGAのターゲットサイズを指定する。 第6章:データベース記憶域構造の管理 データベース起動の流れ SHUTDOWN:停止中 ↓ ↓・初期化パラメータファイルの読み込み ↓ NOMOUNT:インスタンス起動(バックグラウンドプロセスと共有メモリが存在する状態) ↓ ↓・制御ファイルの読み込み ↓ MOUNT:データファイルなどにアクセスできる状態 ↓ ↓・データファイルのチェックやREDOログファイルのオープンなど ↓ OPEN:データ処理およびSQL受付ができる状態 ※初期化パラメータファイル、制御ファイル、データファイルに以上がある場合はデータベースは正常に起動しない。 第7章:ユーザーおよびセキュリティの管理 ユーザー属性 表領域の割り当て制限 ユーザーに使用が許可される表領域内の容量。ユーザーが使用可能な表領域ごとに指定する。 デフォルトではすべての表領域に対して「なし(表領域使用許可なし)」が設定されている。 割り当て制限を無制限にするには、「-1」を設定する。 この場合、USER_TS_QUOTASやDBA_TS_QUOTASビューのMAX_BYTES列、MAX_BLOCKS列の値は、-1になる。 データベース操作のための権限 管理権限 データベースの作成、インスタンスの起動・停止(およびデータベースの起動)、バックアップ・リカバリの実行を行うことができる特別な管理権限は下記の2つ。 この権限を持つユーザはデータベースがオープンされていない場合でも、インスタンスへのアクセスができる。 SYSDBA すべての権限を持つデータベース管理者用のシステム権限。 SYSOPER 基本的な運用タスクを実行するがユーザーのデータを表示する権限は持たないユーザ用のシステム権限。 特権ユーザの認証について DBAの認証には、下記2つの方式がある。 ・OS認証 ・パスワードファイル認証 ※セキュリティで保護されていないリモート接続では、パスワードファイル認証を推奨。 ※OS認証はパスワードファイル認証より優先される。 ロールとは 権限および他のロールの集合 ロールに付与できるものは、「システム権限」、「オブジェクト権限」、「他のロール」。 第8章:スキーマオブジェクトの管理 データベース作成処理の際に自動的に「SYS」と「SYSTEM」というスキーマが作成される。 SYS データディクショナリを構成するすべての実表およびビューが作成されるスキーマ。 SYSTEM 管理情報を格納するための追加の表やビュー、およびOracle製品のオプションやツールで使用される内部的な表やビューが作成されるスキーマ。 表の削除について 表を削除することにより実行される処理は次のとおり。 ・表の定義がデータディクショナリから削除される。 ・表のすべての行が削除される ・表に作成されたすべての索引は削除される。 ・表に関連する制約、トリガーも削除される。 ・表に作成したビュー、シノニムは削除されずに無効になる。 ※これらのデータは同じ表領域内のゴミ箱に格納される。そこから戻すことも可能。 索引について SQL文による明示的に作成される索引と、暗黙的に作成される索引がある。 「主キー制約(Primary)」と、「一意キー制約(UNIQUE)」を定義すると暗黙的に索引が作成される。 ビューについて 1つまたは複数の表やビューを基に作成する、仮想の表のこと。 データディクショナリ情報の更新は、Oracle Serverのみが行う。 DBA_* データベース内のすべてのオブジェクトに関する情報 ALL_* 自分がアクセスできるオブジェクトに関する情報 USER_* 自分が所有するオブジェクト(=自スキーマのオブジェクト)に関する情報 V$* 動的パフォーマンスビュー。自動更新される。データベースのパフォーマンスに関す情報 その他 セッションやロール、言語環境に関する情報 ストアドプログラムとは PL/SQLまたはJavaで記述されたプログラム。 アプリケーション開発者がOracleデータベース内に作成するスキーマオブジェクト。 共通で使用するプログラムを格納しておくと、任意のアプリケーションプログラムから呼び出して使用することができる。 作成できるストアドプログラムの種類 パッケージ パッケージ使用部。関連するプロシージャとファンクションおよびこれらのプロシージャとファンクションが使用するカーソルと変数をグループとしてまとめたもの。 パッケージ本体 パッケージに定義されたプロシージャとファンクションのコード。 プロシージャ 単一のタスクを実行するプログラム。 ファンクション 単一のタスクを実行するプログラム。呼び出しもとのプログラムに値を戻す必要がある。 トリガー 表、ビュー、イベントに関連付けられたプログラム。 第9章:バックアップおよびリカバリの実行 バックアップの種類 イメージコピー OSレベルでのデータファイル、制御ファイル、アーカイブREDOログファイルのコピー。 Enterprise Managerで作成すると、Recovery Managerリポジトリにイメージコピーが記録される。 バックアップセット Recovery Manager固有の形式。 1つ以上のバックアップピースという物理ファイルが含まれ、1つのバックアップピースに1つ以上のデータベースファイルのバックアップがRecovery Manager固有のコンパクトな形式で格納される。 データファイルの中でデータの格納に使用されたブロックのみがバックアップセットに含められる。 * クロスチェック ディスクやテープ内の物理的なバックアップの状況と、Recovery Managerリポジトリ内にあるバックアップレコードが一致しているかを確認し、バックアップの現行のステータスを反映すること。 ファイルヘッダに破損がない場合は「AVAILABLE(使用可)」となる。 破損・欠落、またはバックアップが指定した場所にない場合は「EXPIRED(期限切れ)」となる。 フラッシュバック機能 フラッシュバック機能を使用すると、誤ってデータを削除や変更したときに、簡単にリカバリすることができる。 フラッシュバック表 表のデータを過去のある時点に戻す機能。 過去データの検索のためにUNDOデータを使用する。 表のフラッシュバックには、行移動(※その他へ)が有効でなくてはならない。 フラッシュバックドロップ 削除された表をゴミ箱から戻す機能。 表だけでなく、表に関連する索引やトリガーも元に戻す。 フラッシュバックに必要な権限 ・FLASHBACKオブジェクト権限 or FLASHBACK ANY TABLE権限 ・その表に対するSELECT、INSERT、DELETE、ALTERオブジェクト権限 バックアップポリシーの構成 ・各バックアップとデータベースの構成変更ごとに、制御ファイルおよびSPFILEを自動的にバックアップ ・バックアップ済みの、読み取り専用およびオフラインのデータファイルなどの未変更ファイルをスキップ ・増分バックアップ高速化のためのブロック変更トラッキングを有効化 第10章:データベースの監視およびアドバイザの使用 AWR(Automatic Workroad Repository:自動ワークロードリポジトリ) データベースの状態とパフォーマンス情報を格納したデータ。SYSAUX表領域に存在する。 定期的に取得した情報のことを「AWRスナップショット」と呼ぶ。 アドバイザの種類 ADDM(Automatic Database Diagnostics Monitor:自動データベース診断モニター) データベース全体についてのアドバイザ SQLアドバイザ SQLに関するアドバイザ SQLチューニングアドバイザ 1つ以上のSQL文を分析して、パフォーマンスを改善するための推奨事項を提示する。ソースには、「トップアクティビティ」、「履歴SQL」、「SQLチューニングセット」がある。 SQLアクセスアドバイザ 特定のSQLワークロードに合わせてスキーマをチューニングする。例:特定のワークロードに対する索引の作成、削除の推奨事項の提供。 メモリアドバイザ メモリの設定に関するアドバイザ。 メモリ管理モードに応じて、様々なメモリアドバイザを使用できる。 メモリアドバイザ Oracleインスタンスに割り当てるターゲットメモリ容量の設定に関するアドバイスを提示する。自動メモリ管理が有効な場合に使用できる。 SGAアドバイザ SGAのターゲットサイズの構成に関するアドバイスを提示する。自動共有メモリ管理が有効な場合に使用できる。 PGAアドバイザ インスタンスPGAのターゲットサイズの構成に関するアドバイスを提示する。自動共有メモリ管理、手動共有メモリ管理が有効な場合に使用できる。 共有プールアドバイザ 共有プールのサイズ設定に関するアドバイスを提示する。手動共有メモリ管理が有効な場合に使用できる。 バッファキャッシュアドバイザ バッファキャッシュのサイズ設定に関するアドバイスを提示する。手動共有メモリ管理が有効な場合に使用できる。 その他のアドバイザ セグメントアドバイザ 表領域の空き領域の再利用に関するアドバイスを行う。セグメント内の領域の断片化のレベルに基づいて、そのセグメントの縮小操作が必要かどうかのアドバイスを提示する。このアドバイザは推奨するだけで実際のデータベースオブジェクトの縮小化は行わない。 UNDOアドバイザ システムアクティビティの統計情報や、最も時間がかかる問い合わせの時間、UNDO保存期間の低閾値(最小UNDO保存期間)に基づいて、UNDO表領域のサイズ設定に役立つアドバイスを提示する。 アラート 特定のメトリック(測定基準)が閾値を超えた場合に生成される通知。 「警告閾値」と「クリティカル閾値」を設定できる。 領域不足などのアラートは、問題の原因が解決すると自動的に消去される。 他のアラートは、システム管理者による肯定応答が必要。 その他 オブジェクトの再編成 データベースのパフォーマンスは、時間の経過とともに行連鎖や以降と索引の停滞などによって影響を受ける可能性が出てくる。 そのような場合にオブジェクトの再編成を実施し、表の構造を論理的または物理的に変更し、下記のような効果を得ることができる。 ・問い合わせまたはDMLのパフォーマンス改善 ・アプリケーションの変更に対応する ・記憶域を管理する ただしOracleでは、SYSTEM、SYSAUX、一時(TEMP)、UNDO、オフラインまたは読み取り専用の表領域の再編成はサポートしていない。 行移動 データ更新時に発生する現象。 データレコードを更新するときに、ブロック内の空き領域を使用してもデータブロック内に収まらず、実データの行断片(レコードピース)をすべて別のデータブロックへ引っ越している状態。 Enterprise Managerからデータベースへのログインをしたときの接続モードは以下。 ・NORMAL ・SYSDBA ・SYSOPER 初期化パラメータ UNDO_RETENTION UNDO保存期間の下限値(秒)を指定する。 SGA_MAX_SIZE インスタンスの存続期間を通してのSGAの最大サイズを指定する。※動的変更不可) LOG_BUFFER REDOエントリをREDOログファイルに書き込むときに使用されるメモリ容量をバイト単位で指定する。※動的変更不可 DB_BLOCK_SIZE データベースの標準のブロックサイズを指定する。 箇条書き ・データベースのアーカイブログモードの変更には再起動が必要。
https://w.atwiki.jp/sdevkb/pages/22.html
設定関連 <ページ> Oracle-設定2 Oracle-設定 <リンク> Oracle Database 11g インストール(Linux) Oracle11g R2を自動起動する @IT Oracleトラブル対策の基礎知識 クライアント関連 <ページ> Oracle-Instant Client <リンク> 「Instant Client」セットアップ後の動作テスト(ODBCドライバ接続編)
https://w.atwiki.jp/father/pages/6.html
Oracle Master Oracle9i_Install OracleWebSite SQL*PLUS Linux版 Oracle9i データベース構築と運用 【ES 3】 Red Hat Enterprise Linux AS/ES 2.1 (※1) Red Hat Enterprise Linux AS/ES 3 (※1)(※2) Red Hat Enterprise Linux AS/ES 4(※3) Red Hat Linux Advanced Server 2.1 powered by MIRACLE MIRACLE LINUX Standard Edition V2.1(Oracle9i Release 2対応キット適用済またはUpdate3以降) MIRACLE LINUX V3.0 (※4) MIRACLE LINUX V4.0 (※5) UnitedLinux 1.0 SP1 (※6) SUSE LINUX Enterprise Server 8 SUSE LINUX Enterprise Server 9 (※7) ※1 Red Hat Enterprise Linux ASは Red Hat Linux Advanced Serverの名称変更です。 ※2 Red Hat Enterprise Linux AS/ES 3はR9.2.0.4以降で対応します。また、「Oracle9i Database Release 2(9.2.0.1.0) JP CD/Media Pack v10 for Linux x86 」以上に同梱されているパッチの適用が必要になります。 ※3 Red Hat Enterprise Linux AS/ES 4はR9.2.0.6以降で対応します。また、「Oracle9i Database Release 2(9.2.0.1.0) JP CD Pack v14 for Linux x86 」以上に同梱されているパッチの適用が必要になります。 ※4 MIRACLE LINUX V3.0はR9.2.0.4以降で対応します。インストールに関しては、ミラクル・リナックス(株)ホームページに記載されている技術情報をご参照ください。 ※5 MIRACLE LINUX V4.0はR9.2.0.4以降で対応します。インストールに関しては、ミラクル・リナックス(株)ホームページに記載されている技術情報をご参照ください。 ※6 UnitedLinux 1.0をベースとしたディストリビューションパッケージは以下の通りです。 - Turbolinux Enterprise Server 8 powered by UnitedLinux ※7 SUSE LINUX Enterprise Server 9はR9.2.0.5以降で対応します。必要なパッケージ要件等は最新のリリース・ノートをご確認ください。 .
https://w.atwiki.jp/programhack/pages/22.html
Oracle関連 CHAR と VARCHAR2 の違い CHAR と VARCHAR2 の違いではまった。 比較するときにCHARをTRIMすることで一致するようになった。 例 UPDATE TXEA_06402_SIKAKU SIKAKU SET SIKAKU.KZOKUCD = ( SELECT KZOKU.ZOKUCD FROM KZOKU_CONV KZOKU WHERE TRIM(KZOKU.KZOKUORG) = SIKAKU.KZOKUCD ) 参考サイト? CHAR と VARCHAR2 の違い http //www.shift-the-oracle.com/element/data-type/varchar2-char-comparison.html SELECT結果を変数に保持する SELECT INTOでSELECT結果を変数に保持することができる。 参考サイト PL/SQL で SELECT INTO を行なう http //www.shift-the-oracle.com/plsql/select.html TRIMSPOOL 参考サイト TRIMSPOOL システム変数 http //www.shift-the-oracle.com/sqlplus/system-variable/trimspool.html
https://w.atwiki.jp/wiki2_chobi/pages/8.html
データファイルのサイズ変更 ALTER DATABASE DATAFILE ファイル名 RESIZE サイズ; データファイルの移動 SYSTEM表領域以外 ALTER TABLESPACE 表領域名 OFFLINE ファイルコピー ALTER TABLESPACE 表領域名 RENAME DATAFILE ファイル名 TO ファイル名 ALTER TABLESPACE 表領域名 ONLINE SYSTEM表領域 SHUTDOWN ファイルコピー STARTUP MOUNT ALTER DATABASE RENAME FILE ファイル名 TO ファイル名 ALTER DATABASE OPEN 表領域の管理方法 ローカル管理表領域 データファイル内のエクステント割り当てをビットマップで表示し、不要ブロックを解放 EXTENT MANAGEMENT LOCAL AUTOALLOCATE エクステントをOracleサーバで自動管理 EXTENT MANAGEMENT LOCAL UNIFORM SIZE サイズ 均一サイズを指定 ディクショナリ管理表領域 エクステントをデータディクショナリで管理 各セグメントに対し、記憶領域パラメータの指定可 DEFAULT STORAGE句でのデフォルト指定可
https://w.atwiki.jp/lmes2/pages/191.html
Oracle 目次 参考 TIPS1 TIPS2ROWID擬似列 ROWNUM擬似列 TO_DATE関数 TO_CHAR関数 NVL関数 トランザクション COMMIT ROLLBACK デッドロック SAVEPOINT データーディクショナリビュー 参考 SQLの窓 / いきなり PL/SQL SQLの窓 / Oracle Enumeration 忘れっぽいエンジニアのORACLE/オラクルSQLリファレンス オラクル ちょこっとリファレンス techbank.jp / Oracle 8i/9 の基本 SHIFT the Oracle - Oracle DBA, Oracle SQL and PL/SQL Tips Cyberam Documents Project / Oracle SQL言語入門 Cyberam Documents Project / Oracleデータベース管理入門 TIPS1 oracleのサンプル満載、IT技術の処方箋はサーチマン Oracle Database - Wikipedia @IT総合トップ / テクノロジー / Database Expert / 連載記事 「Oracle SQLチューニング講座」 TIPS2 ROWID擬似列 ROWID - オラクル・Oracleをマスターするための基本と仕組み ROWNUM擬似列 ROWNUM - オラクル・Oracleをマスターするための基本と仕組み TO_DATE関数 SHIFT the Oracle / TO_DATE TO_CHAR関数 SHIFT the Oracle / TO_CHAR(数値) SHIFT the Oracle / TO_CHAR(日付) NVL関数 SHIFT the Oracle / NVL、COALESCE トランザクション トランザクションSQL -TECHSCORE- SHIFT the Oracle / トランザクション COMMIT SHIFT the Oracle / COMMIT ROLLBACK SHIFT the Oracle / ROLLBACK デッドロック SQLの窓と銀プログラマ / Oracle デッドロックテスト SAVEPOINT Cyberam Documents Project / SAVEPOINT データーディクショナリビュー オラクル ちょこっとリファレンス - データディクショナリ編